# 1. 定义动物类，动物有姓名和年龄属性，具有吃和睡的行为
# 2. 定义猫类，猫类具有动物类的所有属性和方法，并且具有抓老鼠的特殊行为
# 3. 定义狗类，狗类具有动物类的所有属性和方法，并且具有看门的特殊行为
# 4. 定义哮天犬类，哮天犬类具有狗类的所有属性和方法，并且具有飞的特殊行为

class Animal(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def eat(self):
        print(f"{self.name}吃东西")

    def sleep(self):
        print(f"{self.name}要睡觉")


class Cat(Animal):
    def catch(self):
        print(f"{self.name}会抓老鼠")


class Dog(Animal):
    def look_door(self):
        print(f"{self.name}会看门")


class XiaoTianQuan(Dog):
    def fly(self):
        print(f"{self.name}会飞")

# 创建对象
tom = Cat("汤姆",4)
xtq = XiaoTianQuan("天神",100)

# 调用方法
tom.catch()
tom.eat()
xtq.fly()
xtq.look_door()
xtq.eat()

